package com.ruoyi.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

/**
 * 对象 adv_orders
 *
 * @author ruoyi
 * @date 2024-05-13
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class AdvOrders extends BaseEntity {
    private static final long serialVersionUID = 1L;



    @Excel(name = "订单标识")
    private Long advOrdersId;

    @Excel(name = "会员id")
    private Long advMembersId;


    @Excel(name = "订单日期")
    private String advOrdersdate;

    @Excel(name = "订单付款日期")
    private String advOrdersPayDate;


    @Excel(name = "订单号")
    private String ordersno;

    @Excel(name = "物流公司编号")
    private String wlcmpno;

    @Excel(name = "物流单号")
    private String delivesno;


    @Excel(name = "订单状态")
    private Long orderStatus;

    @Excel(name = "订单金额")
    private Double ordersamount;

    private String balFlag; // 1 是 0 否

    private String advMembersaddrId;

    @Excel(name = "订单备注")
    private String remark;

    private String prepayId; //微信支付单链接
    @Excel(name = "发货日期")
    private String advSenddate; //发货日期
    @Excel(name = "收货日期")
    private String advConfirmdate; //确认收货日期

    private String transactionId; //微信系统订单号
    private String outRefundNo; //微信支付商户自定义退款单号
    private String refundId; //微信系统退款单号
    private String fundContent; //支付信息
    private String refundContent; //退款信息

    private String weOpenid;

    private String refOrdersno;  // 关联的订单ordersno


    // 订单关联表中的数据
    @Transient
    private Long advOrdersdetailId;
    @Transient
    private Long advProductsId;
    @Transient
    private Long ordersNum;

    // 产品表中的数据
    @Transient
    private Long productPrice;
    @Transient
    private Long productType;

    public AdvOrders(Long advOrdersId, Long advMembersId, String advOrdersdate, String advOrdersPayDate,
                     String ordersno, String delivesno, Long orderStatus, Double ordersamount, String balFlag, String wlcmpno, String remark,
                     String prepayId, String advSenddate, String advConfirmdate, String transactionId, String outRefundNo, String refundId, String fundContent, String refundContent) {
        this.advOrdersId = advOrdersId;
        this.advMembersId = advMembersId;
        this.advOrdersdate = advOrdersdate;
        this.advOrdersPayDate = advOrdersPayDate;
        this.ordersno = ordersno;
        this.delivesno = delivesno;
        this.orderStatus = orderStatus;
        this.ordersamount = ordersamount;
        this.balFlag = balFlag;
        this.wlcmpno = wlcmpno;
        this.remark = remark;
        this.prepayId = prepayId;
        this.advSenddate = advSenddate;
        this.advConfirmdate = advConfirmdate;
        this.transactionId = transactionId;
        this.outRefundNo = outRefundNo;
        this.refundId = refundId;
        this.fundContent = fundContent;
        this.refundContent = refundContent;
    }
}
